#include<allegro.h>
#include<stdio.h>
#include<stdlib.h>
#include "struct.h"

/** @file struct.c ce fichier contient toutes les structures dont on a besoin */


/** @fn permet de charger les images de jimmy */


void load_jimmy(jimmy *jim)
{   int i;
char buf[50];

 for(i=0; i<NB ; i++)
{
  sprintf(buf, "../images/right%d.bmp",i);
 jim->img_right[i]= load_bitmap(buf,NULL);

sprintf(buf,"../images/left%d.bmp",i);
jim->img_left[i]= load_bitmap(buf,NULL);
}
}
/** @fn permet d'initialiser jimmy à une position bien préçise */
void init_jimmy(jimmy *jim)
{

   jim->x=SCREEN_W/2;
   jim->y=4*(SCREEN_H)/5;

}

/** @fn permet à jimmy de se déplacer à droite en tappant sur la touche droite */
void move_right(jimmy *jim, BITMAP * background)

{

   Sprite sp;

    sp.x=jim->x;
    sp.y=jim->y;
    sp.w=jim->img_right[0]->w;
     sp.h=jim->img_right[0]->h;

 if(key[KEY_RIGHT] && jim->x < SCREEN_W)

{

    (jim->x)+=1;
   jim->direc=0;
}

}



/** @fn  permet à jimmy de se déplacer à gauche en tappant sur la touche gauche */
void move_left(jimmy *jim, BITMAP * background)

{

   Sprite sp;

    sp.x=jim->x;
    sp.y=jim->y;
    sp.w=jim->img_left[0]->w;
     sp.h=jim->img_left[0]->h;

 if(key[KEY_LEFT] && jim->x > 0)

{

    (jim->x)-=1;
   jim->direc=1;
}

}

/** @fn permet à jimmy de sauter en tappant sur la touche espace */

void jump(jimmy *jim, BITMAP * background)

{

   Sprite sp;

    sp.x=jim->x;
    sp.y=jim->y;
    sp.w=jim->img_right[0]->w;
     sp.h=jim->img_right[0]->h;

 if(key[KEY_SPACE] && jim->x < SCREEN_W)

{

    (jim->y)-=5;
   jim->direc=2;
}

}

/** @fn permet de charger toutes les fonctions relatives au deplacement de jimmy */

void move(jimmy *jim,BITMAP *background)
{
	move_right(jim,background);
	move_left(jim,background);
	jump(jim,background);
}






/** @fn permet de dessiner jimmy */

void draw_jimmy(jimmy jim, BITMAP * Buffer)

{ static int direc_fin;

if(jim.direc==0)
{    draw_sprite(Buffer,jim.img_right[0],jim.x,jim.y);
   
      direc_fin=0;
}

if(jim.direc==1)
{
  draw_sprite(Buffer,jim.img_left[0],jim.x,jim.y);
   
      direc_fin=1;
}


if(jim.direc==2 && direc_fin==0)
{
  draw_sprite(Buffer,jim.img_right[0],jim.x,jim.y);
   
      
}


if(jim.direc==2 && direc_fin==1)
{
  draw_sprite(Buffer,jim.img_left[0],jim.x,jim.y);
   
     
}

}

































































